/* String Service : class avec des méthodes sur la manipulation des chaines de caractères */
function CacheService (localStorageService) {
	return {
        afficheToutesLesClefs: function () {
            return localStorageService.keys();
        },
        supprimerLaClef: function ( nomClef ) {
            return localStorageService.remove(nomClef);
        },
        enregistrerLaClef: function (nomClef, valeur, expireTempsEnSeconde) {
            return localStorageService.set(nomClef, {
                data: valeur,
                timestamp: new Date().getTime(),
                expireTimeInMilliseconds: expireTempsEnSeconde * 1000
              })
        },
        retournerLaClef: function (nomClef) {
            var item = localStorageService.get(nomClef);

            if(!item || new Date().getTime() > (item.timestamp + item.expireTimeInMilliseconds)) {
              return null
            } else {
              return item.data
            }
        },
    };  
}
